/**
 * @file Noncopyable.hpp
 * @brief 不可复制基类的声明
 * @details 禁用拷贝构造和赋值操作的基类，用于需要禁止复制的类
 */

#ifndef __Noncopyable_HPP__
#define __Noncopyable_HPP__

namespace wd
{

/**
 * @class Noncopyable
 * @brief 不可复制基类
 * @details 继承此类的派生类将禁用拷贝构造和赋值操作
 */
class Noncopyable
{
protected:
    Noncopyable(){}
    ~Noncopyable(){}

    /**
     * @brief 删除拷贝构造函数
     */
    Noncopyable(const Noncopyable &)=delete;
    
    /**
     * @brief 删除赋值运算符
     */
    Noncopyable & operator=(const Noncopyable &)=delete;

};


}//end of namespace wd


#endif

